import {simpleGet} from "../utils/request";
import {showToast} from "../utils/tool";
import {checkLogin, removeLogin, setLoginToken} from "./user";
import {str2arr} from "../utils/str";

/**
 * 获取当前登录店铺的运费模板列表
 * @returns {Promise<unknown>}
 */
export const getLoginPostageList = () => {
    return simpleGet('/shop/postage_template_list')
}

/**
 * 当前站点信息
 * @returns {Promise<unknown>}
 */
// export const getSite = (refresh=false, options={}) => {
//     const {app} = options
//     const _app = getApp() || app
//
//     return new Promise(async resolve => {
//
//         const _ = _app.globalData.site
//
//         if (_ && !refresh){ // 全局变量存在用户信息，直接返回
//             // _app.globalData.getSiteComplete = true
//             resolve(_)
//
//         }else { // 向后台请求
//
//             if (_app.globalData.getSiteComplete){  // 请求完成，没有正在执行的请求
//                 // 修改请求状态
//                 _app.globalData.getSiteComplete = false
//                 simpleGet("/index/site").then(({site}) => {
//                     // 存入global
//                     _app.globalData.site = site
//                     resolve(site)
//
//
//                 }).finally(() => {
//                     // 不论请求是否成功，只要请求完成，都修改请求状态
//                     _app.globalData.getSiteComplete = true
//                 })
//
//
//             }else{  // 有正在执行的请求，延时3秒后再次执行
//                 setTimeout( function(){
//                     return getSite(options)
//                 }, 3000 );
//
//             }
//
//         }
//
//     })
//
// }


/**
 * 当前站点信息
 * @returns {Promise<unknown>}
 */
export const getSite = (refresh=false, options={}) => {
    const {app} = options
    const _app = getApp() || app

    return new Promise(async resolve => {

        const _ = _app.globalData.site

        if (_ && !refresh){ // 全局变量存在用户信息，直接返回
            // _app.globalData.getSiteComplete = true
            resolve(_)

        }else { // 向后台请求

            simpleGet("/index/site").then(({site}) => {
                // 存入global
                _app.globalData.site = site
                resolve(site)


            })

        }

    })

}

const siteService = {
    /**
     * 联系卖家
     * @param shop
     * @param app
     */
    showKefu(site) {

        const app = getApp()
        const itemList = str2arr(site.phone)

        wx.showActionSheet({
            itemList: itemList,
            success(res) {
                const tapIndex = res.tapIndex;
                wx.makePhoneCall({
                    phoneNumber: itemList[tapIndex]
                })
            },
        })
    }
}

export default siteService

